#ifndef __FUZZIT_H__
#define __FUZZIT_H__

/* -- INCLUDES  ------------------------------------------------------------ */

/* -- DEFINES -------------------------------------------------------------- */
#define KILLWAIT(pid, sig)	do {								\
								if( pid != -1 ) {				\
									kill( pid, sig );			\
									waitpid( pid, NULL, 0 );	\
								}								\
							} while(0)

#define COUNT_REQUIRED_ARGS	0
#define DEFAULT_FUZZ_DIR	"./fuzzfiles"
#define DEFAULT_LOG_FILE	"./fuzzit.session.log"
#define DEFAULT_MAXTIME		10
#define DEFAULT_NAME		"Fuzzit"
#define IPC_RIGHTS			0600
#define MSGQ_LOGS_KEY		((key_t)0xcafebabe)
#define MSGQ_FILES_KEY		((key_t)0xdeadbeef)
#define CORE_PATTERN_FILE	"/proc/sys/kernel/core_pattern"
#define CORE_PATTERN		"./core.%e.%s.%p.%t" /* %e=executable %s=signal %p=pid %t=time */


/* -- TYPES ---------------------------------------------------------------- */

/* -- PROTOTYPES ----------------------------------------------------------- */
int main( int argc, char ** argv );

static void handle_options( int argc, char ** argv );
static void create_ressources();
static void destroy_ressources();
static void usage(char * prog);

#endif /* __FUZZIT_H__ */

